Link aggregation (also known as trunking or inverse multiplexing) refers to the use of multiple network paths in a communications link to increase data transmission speed, reliability through the use of redundant transmission, or increase both speed and reliability of the link beyond that of a comparable link having a single network path.
Communications equipment specifically capable of providing link aggregation has been manufactured by various equipment manufacturers, however, such components are limited to use with interconnecting equipment from the same manufacturer or even the same product line. U.S. Pat. No. 5,608,733 to Vallee et al. discloses ATM (Asynchronous Transfer Mode) inverse multiplexing in which digital data in ATM cells are sent to a destination node over more than one transmission link in round robin fashion, however, such ATM inverse multiplexing requires the use of a protocol calling for a physical layer OAM (Operation Administration and Maintenance) cell that is defined to be exclusively processed by the ATM inverse multiplexers.
Some communications equipment constitute multi-port network interfaces having link aggregation capabilities. Such network interfaces comprise a network interface card and associated device driver software, but require the installation and configuration of device driver layer software specific to and compatible with specific multi-port network interface cards having link aggregation capabilities. The U.S. Pat. No. 6,873,630 issued to Muller et al. discloses a multi-gigabit ethernet architecture in which a communication for transmission across a network by a first network entity is divided for transmission across multiple channels at a point below the Medium Access Control (MAC) layer of operation. However, such architecture requires the use of hardware components having compatible link aggregation capabilities below the MAC layer of operation.
Some multi-port network interfaces provide link aggregation by emulating a single port network interface. Such emulating network interfaces redirect a network packet received from a source entity to one of the multiple paths by overwriting specific header information of the network packet; and direct a network packet received from one of the multiple network paths to the destination entity by overwriting header information of the network packet to make it appear to the destination entity as if transmission had occurred via a single port network interface. However, such emulating network interfaces introduce transmission inefficiencies by their need to overwrite header information of the network packets being transmitted.
Some operating systems include kernel functions that support the use of multi-port network interface cards for link aggregation, however, such operating systems are limited to the use of multi-port network interface cards specifically compatible with the particular kernel of the operating system.
Thus, there is a need for scalable link aggregation techniques not limited by the compatibility requirements of prior systems and by the need for installation and configuration of specific communications equipment or network interfaces themselves having link aggregation capabilities.
Image analysis refers to producing meaningful data and information in response to images. Digital Video Recorders (DVR) digitally record video signals received in analog format via cable connection from one or more cameras.
U.S. Pat. No. 7,340,151 issued to Taylor et al. discloses a method by which a DVR, at the time of storing a received video signal, also generates and stores metadata identifying spatial regions of motion. The method involves creating a spatial grid of zones and assigning a bit value to one motion bit for each zone, thereby indicating the presence or absence of motion in each zone. The motion bits can be logically “OR'd” to facilitate subsequent processing. However, the method of Taylor et al. is limited to generating metadata in a DVR that is directly connected by cable to a camera transmitting an analog video signal across the cable connection. Thus, the DVR is not suitable for use in systems where images captured by a camera are transmitted across a communications network.
Transmitting a video from a server to a client computer by streaming data packets of the video permits the client computer to display images of the video in a viewing window on a monitor connected to the client computer. The viewing window has a viewing window area measured in width of pixels by height of pixels. For example, a viewing window that is 800 pixels wide by 600 pixels high has a viewing window area of 0.48 Megapixels (MP). The viewing window area is a measure of the image size being displayed. Video images can be captured, transmitted and displayed at a frame rate, measured in frames/second (fps).
U.S. Pat. No. 6,172,672 issued to Ramasubramanian et al. discloses a method and system for delivering video from a server to a client over a communication medium with a limited bandwidth. Different versions of a video are stored as pre-compressed video files using different compression ratios. The server is configured to switch between video file sources to provide increased quality slow motion video at a second, slower frame rate than an initial predetermined frame rate, or to provide still “snapshot” of a particular frame selected from a least-compressed video file. If pre-compressed video data is not pre-compressed to the degree required to be able to transmit the video to a client for normal-speed playback in real time, some additional on-the-fly compression must be performed to send the video to the client for normal-speed, real-time playback. However, transmission efficiency is not optimized by the method and system of Ramasubramanian et al.
Objects of the invention include addressing the above shortcomings.